
#ifndef KEY_NAME
#define KEYWORD(key, str_name) key,
#else
#define KEYWORD(key, str_name) str_name,
#endif

KEYWORD(kw_auto, "auto")
KEYWORD(kw_enum, "enum")
KEYWORD(kw_restrict, "restrict")
KEYWORD(kw_unsigned, "unsigned")
KEYWORD(kw_break, "break")
KEYWORD(kw_extern, "extern")
KEYWORD(kw_return, "return")
KEYWORD(kw_void, "void")
KEYWORD(kw_case, "case")
KEYWORD(kw_float, "float")
KEYWORD(kw_short, "short")
KEYWORD(kw_volatile, "volatile")
KEYWORD(kw_char, "char")
KEYWORD(kw_for, "for")
KEYWORD(kw_signed, "signed")
KEYWORD(kw_while, "while")
KEYWORD(kw_const, "const")
KEYWORD(kw_goto, "goto")
KEYWORD(kw_sizeof, "sizeof")
KEYWORD(kw__Bool, "_Bool")
KEYWORD(kw_continue, "continue")
KEYWORD(kw_if, "if")
KEYWORD(kw_static, "static")
KEYWORD(kw__Complex, "_Complex")
KEYWORD(kw_default, "default")
KEYWORD(kw_inline, "inline")
KEYWORD(kw_struct, "struct")
KEYWORD(kw__Imaginary, "_Imaginary")
KEYWORD(kw_do, "do")
KEYWORD(kw_int, "int")
KEYWORD(kw_switch, "switch")
KEYWORD(kw_double, "double")
KEYWORD(kw_else, "else")
KEYWORD(kw_register, "register")
KEYWORD(kw_union, "union")
KEYWORD(kw_parallel, "parallel")

#undef KEYWORD